package org.wukongcrm.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 工单表
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "workorder")
public class Workorder implements Serializable {
    public static final String COL_WORKORDER_ID = "workorder_id";
    public static final String COL_WORKORDER_NAME = "workorder_name";
    public static final String COL_WORKORDER_CUSTOMER_ID = "workorder_customer_id";
    public static final String COL_WORKORDER_MAIL = "workorder_mail";
    public static final String COL_WORKORDER_FAULT_LEVEL = "workorder_fault_level";
    public static final String COL_WORKORDER_PHONE = "workorder_phone";
    public static final String COL_PRODUCT_ID = "product_id";
    public static final String COL_WORKORDER_STATE = "workorder_state";
    public static final String COL_WORKORDER_END_TIME = "workorder_end_time";
    public static final String COL_WORKORDER_PRIORITY = "workorder_priority";
    public static final String COL_WORKORDER_TYPE = "workorder_type";
    public static final String COL_WORKORDER_DESCRIBE = "workorder_describe";
    public static final String COL_OWNER_USER_ID = "owner_user_id";
    public static final String COL_CREATE_USER_ID = "create_user_id";
    public static final String COL_WORKORDER_SERVER_ADDRESS = "workorder_server_address";
    public static final String COL_WORKORDER_SERVER_TYPE = "workorder_server_type";
    public static final String COL_WORKORDER_OPERATION = "workorder_operation";
    public static final String COL_SHANGPINWORKORDER_WARRANTY = "shangpinworkorder_warranty";
    public static final String COL_IS_RECEIVE = "is_receive";
    public static final String COL_POOL_TIME = "pool_time";
    public static final String COL_PUT_POOL_REASON = "put_pool_reason";
    public static final String COL_COLLECT_REASON = "collect_reason";
    public static final String COL_PRE_OWNER_USER_ID = "pre_owner_user_id";
    /**
     * 工单编号
     */
    @TableId(value = "workorder_id", type = IdType.INPUT)
    private Integer workorderId;

    /**
     * 工单名称
     */
    @TableField(value = "workorder_name")
    private String workorderName;

    /**
     * 客户编号
     */
    @TableField(value = "workorder_customer_id")
    private Integer workorderCustomerId;

    /**
     * 邮件
     */
    @TableField(value = "workorder_mail")
    private String workorderMail;

    /**
     * 故障分级
     */
    @TableField(value = "workorder_fault_level")
    private Integer workorderFaultLevel;

    /**
     * 电话
     */
    @TableField(value = "workorder_phone")
    private String workorderPhone;

    /**
     * 产品编号
     */
    @TableField(value = "product_id")
    private Integer productId;

    /**
     * 状态(1,未完成 2,进行中 3,以完成)
     */
    @TableField(value = "workorder_state")
    private Integer workorderState;

    /**
     * 到期时间
     */
    @TableField(value = "workorder_end_time")
    private Date workorderEndTime;

    /**
     * 优先级(1,低 2,中 3,高)
     */
    @TableField(value = "workorder_priority")
    private Integer workorderPriority;

    /**
     * 分类
     */
    @TableField(value = "workorder_type")
    private Integer workorderType;

    /**
     * 描述
     */
    @TableField(value = "workorder_describe")
    private String workorderDescribe;

    /**
     * 负责人
     */
    @TableField(value = "owner_user_id")
    private Integer ownerUserId;

    /**
     * 参与人
     */
    @TableField(value = "participate")
    private Integer participate;

    /**
     * 创建时间
     */
    @TableField(value = "workorder_create_time")
    private Date workorderCreateTime;

    /**
     * 创建人
     */
    @TableField(value = "create_user_id")
    private Integer createUserId;

    /**
     * 战端名称
     */
    @TableField(value = "workorder_server_address")
    private String workorderServerAddress;

    /**
     * 站型名称
     */
    @TableField(value = "workorder_server_type")
    private String workorderServerType;

    /**
     * 运营方式(1,自营 2,联营 3,代自营)
     */
    @TableField(value = "workorder_operation")
    private Integer workorderOperation;

    /**
     * 保质(1,内 2,外)
     */
    @TableField(value = "shangpinworkorder_warranty")
    private Integer shangpinworkorderWarranty;

    /**
     * 1 分配 2 领取
     */
    @TableField(value = "is_receive")
    private Integer isReceive;

    /**
     * 放入工单池时间
     */
    @TableField(value = "pool_time")
    private Date poolTime;

    /**
     * 放入工单池理由
     */
    @TableField(value = "put_pool_reason")
    private String putPoolReason;

    /**
     * 领取理由
     */
    @TableField(value = "collect_reason")
    private String collectReason;

    /**
     * 进入工单池前负责人id
     */
    @TableField(value = "pre_owner_user_id")
    private Integer preOwnerUserId;

    private static final long serialVersionUID = 1L;
}